DISCONTINUED: Switched to Gitlab
Requirements: Working and secure Apache setup
Install subversion svn
apt-get install subversion libapache2-svn
a2enmod authz_svn
a2enmod dav
a2enmod dav_svn
Create repository folder
mkdir /var/www/svn
Edit apache (or vhost config):
nano /path/to/apache2.conf
<VirtualHost *:443>
ServerName svn.mydomain.tld
DocumentRoot /var/www/
SSLEngine on
<Location /var/www>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Subversion Repositories"
AuthUserFile /var/www/htpasswd/svn-auth-users
AuthzSVNAccessFile /var/www/htpasswd/svn-auth-rules
Require valid-user
</Location>
</VirtualHost>
Create a new svn repository
svnadmin create /var/www/svn/myrepo1
chown -R www-data:www-data /var/www/svn/
Setup access control configuration:
nano /var/www/htpasswd/svn-auth-rules
[groups]
admin = user1
[/]
@admin = rw
[myrepo1:/]
user2 = rw
Add users and passwords for svn access:
nano /var/www/htpasswd/svn-auth-rules
user1:$apr1$JybbE4GN$lcucVm/R/stZx/Uzr1dDW.
user2:$apr1$.yvTFWnO$hvb.wP..YkUf.uysvh44..